1. Field of the Invention
This invention relates to replication in general and, more particularly, to a method and apparatus for automating replication in a clustered environment.
2. Description of the Related Art
Application clustering, sometimes called software clustering, is a method for turning multiple computer servers into a cluster that acts like a single system. In a cluster, a group of interconnected servers coordinate to enhance application and data availability, scalability, and manageability. Clusters can potentially solve significant computing problems such as failure, network or I/O path failure, application growth and management cost containment. Additionally, clusters can help eliminate both planned and unplanned downtime and manage a wide range of applications in a heterogeneous environment.
Traditionally, clustering software is installed on each of the servers and/or nodes of the cluster group and each server maintains the same information. Collectively, they perform administrative tasks such as load balancing, determining node failures, and assigning failover duty. Application failover is a feature of clustering. Applications can be configured to run on multiple servers in the cluster group. Or, more precisely, each of the individual machines is configured to support the clustered application. When a clustered application fails on one node, or when a path error occurs on the path to a node, another instance of the application can be started on another node in the cluster, thereby helping to ensure that the application is continuously available. Moving an application from one server to another is also called migrating the application. Applications may be migrated as needed due to hardware/software failure, resource requirements, or administrative policy. Clustering also allows multiple instances of a clustered application to be executing in different cluster nodes in parallel, thus providing better overall system response to client requests.